Linear Arama
Lineer arama algoritması, bir dizide belirli bir öğenin konumunu bulmak için kullanılan basit bir arama algoritmasıdır. Algoritma, verilen bir dizideki her öğeyi tek tek karşılaştırarak aranan öğeyi bulur.
Lineer arama, dizinin boyutuna bağlı olarak zaman karmaşıklığı açısından O(n) olarak değerlendirilmektedir.
Aşağıdaki C kodu, bir dizi içinde aranan bir öğenin konumunu bulmak için lineer arama algoritmasını göstermektedir:
#include <stdio.h>
int linear_search(int arr[], int size, int key) {
for (int i = 0; i < size; i++) {
if (arr[i] == key) {
return i; // öğe bulunduğunda konumunu döndürür
}
}
return -1; // öğe bulunamadığında -1 döndürür
}
int main() {
int arr[] = {1, 2, 3, 4, 5, 6};
int size = sizeof(arr) / sizeof(arr[0]);
int key = 4;
int result = linear_search(arr, size, key);
if (result == -1) {
printf("Öğe bulunamadı.");
} else {
printf("Öğe %d konumunda bulundu.", result);
}
return 0;
}
Bu kod örneğinde, linear_search
fonksiyonu, arr
dizisinde size
boyutunda aranan key
öğesini bulmak için kullanılır.
Fonksiyon, dizinin her öğesini tek tek karşılaştırır ve öğe bulunursa bulunan öğenin konumunu döndürür. Eğer öğe bulunamazsa, fonksiyon -1 değerini döndürür.
Arama işlemi sırasında bulunamayan bir öğe için kullanıcıya anlamlı bir geri bildirim sağlamak her zaman iyi bir uygulamadır.
main
fonksiyonu, örnek bir dizi ve aranacak öğe belirler ve linear_search
fonksiyonunu kullanarak öğenin konumunu bulur. Eğer öğe bulunamazsa "Öğe bulunamadı." çıktısı verilir, bulunursa "Öğe <konum>
konumunda bulundu." şeklinde çıktı verilir.